package org.edu.modules.stu.stu.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.edu.common.base.BaseEntity;


import org.hibernate.validator.constraints.Length;

import java.io.Serializable;
import java.util.Date;

/**
 * entity-考勤信息表
 */
@TableName("ve_stu_check")
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "考勤信息表对象", description = "ve_stu_check")
public class VeStuCheck extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableField(value = "stu_id")
    @ApiModelProperty(value = "学生id")
    private Integer stuId;

    @TableField(value = "name")
    @ApiModelProperty(value = "姓名")
    @Length(max = 30)
    private String name;

    @TableField(value = "code")
    @ApiModelProperty(value = "学号")
    @Length(max = 30)
    private String code;

    @TableField(value = "sem_id")
    @ApiModelProperty(value = "学期id")
    private Integer semId;

    @TableField(value = "fal_id")
    @ApiModelProperty(value = "学院id")
    private Integer falId;

    @TableField(value = "grade_id")
    @ApiModelProperty(value = "年级id")
    private Integer gradeId;

    @TableField(value = "spec_id")
    @ApiModelProperty(value = "专业id")
    private Integer specId;

    @TableField(value = "bj_Id")
    @ApiModelProperty(value = "班级id")
    private Integer bjId;

    @TableField(value = "jxbj_id")
    @ApiModelProperty(value = "教学班级id")
    private Integer jxbjId;

    @TableField(value = "type_id")
    @ApiModelProperty(value = "考勤类型id")
    private Integer typeId;

    @TableField(value = "course_id")
    @ApiModelProperty(value = "考勤名称id（-1早自习、-2晚自习为系统内定，其他为课堂id）")
    private Integer courseId;

    @TableField(value = "course_name")
    @ApiModelProperty(value = "考勤名称")
    @Length(max = 100)
    private String courseName;

    @TableField(value = "check_time")
    @ApiModelProperty(value = "异常时间")
    @JsonFormat(timezone = "GMT+8", locale = "zh", pattern = "yyyy-MM-dd")
    private Date checkTime;

    @TableField("content")
    @ApiModelProperty(value = "备注")
    @Length(max = 100)
    private String content;

    @TableField("calendar_id")
    @ApiModelProperty(value = "校历id")
    @Length(max = 100)
    private Integer calendarId;

    @TableField("section")
    @ApiModelProperty(value = "第几节")
    @Length(max = 100)
    private String section;

}
